package cn.com.service.hr;

import java.util.List;
import java.util.Map;

import cn.com.commons.Paginator;
import cn.com.dal.dataobject.hr.UserDO;
import cn.com.support.message.MessageResult;

/**
 * 系统用户管理
 * 
 * @since 2012-3-14 下午9:22:53
 * @version 1.0
 * @author Zoe
 */
public interface UserService {

	/**
	 * SELECT BY PAGE
	 * @param paginator
	 * @return
	 */
	<C> Paginator<C, List<UserDO>> selectByPage(
			Paginator<C, List<UserDO>> paginator);

	/**
	 * INSERT
	 * @param userDO
	 * @return
	 */
	MessageResult<Long> insert(UserDO userDO);

	MessageResult<Integer> updateById(UserDO userDO);
	
	MessageResult<Integer> deleteById(List<String> idLst);
	
	List<UserDO> selectList(UserDO userDO);
	
	UserDO selectById(Long id);
	
	/**
	 * 根据参数获取角色-ref to-用户LIST
		* @param params
		* @return List<UserDO> 
		* @Author Zoe 
		* @Version 1.0.0 2012-4-5
	 */
	List<UserDO> selectListByRole(Map<Object, Object> params);
}
